1. Technical Field
The present disclosure relates to software maintenance, and more specifically to patching of multi-level data containers storing portions of pre-installed software.
2. Related Art
Pre-installed software represents software code/instructions that have been installed in a system. Installation typically entails storing the software code/instructions in appropriate storage locations and performing any other action(s) required to make the code/instruction ready for execution. The software code/instructions constituting the pre-installed software are often maintained in the form of one or more files for convenient storage, execution, etc.
A data container represents a collection of files storing at least some portions of the pre-installed software. The data container may be maintained in the form of a single file, for example, as an archive file containing the collection of files. The process of creating the single archive file/data container from the collection of files (with/without compression) is termed “archiving”, while the reverse process of retrieving the collection of files from the single file/data container (with/without decompression) is termed “unarchiving”.
Archiving is typically performed to simplify aspects such as storage, transporting (e.g., download) and general ease of management. Unarchiving is then performed so that the individual ones of the files are available for use. In other words, to perform various operations (e.g., backup, replace, etc.) related to patching, it is generally necessary to first extract/separate the individual files of the corresponding archive.
Multi-level data containers are also often used to store a desired collection of files. A multi-level data container implies that there is at least one data container, which is included as a file of the multi-level data container. There can be another data container as a file in such a lower level data container. In the present application, each such data container is identified with a level-number, implying that the data container at that level number contains at least one data container at the level number less one.
As an illustration, a first level data container is deemed to not contain any data containers as files, while a second level data container would contain at least one first level container. Similarly, a third-level data container may contain other first/second level data containers; a fourth-level data container may contain other first/second/third level data containers. It should be appreciated that there can be several files at each of the levels, as is suited for the specific situation.
There is a general need to provide for patching of multi-level data containers. Patching refers to replacement of desired data/instructions in the pre-installed software with corresponding corrected data/instructions (often referred to as patches). The replacements are generally intended to either fix errors or improve the performance of the pre-installed software.
It is generally desirable that patching be provided for multi-level data containers, while meeting one or more of requirements, as suited in the specific environments.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.